#include <iostream>
#include <initializer_list>
#include <vector>
#include <map>
// 5

// std::vector<int> func()
// {
//     return {}; // 返回一个空容器  这种写法是万能的 map也是适用的
// }

class MyVector
{
public:
    MyVector(const std::initializer_list<int> &list)
    {
        for (auto ite = list.begin(); ite != list.end(); ite++)
        {
            data.push_back(*ite);
        }
    }
    void show()
    {
        for(auto ite = data.begin(); ite != data.end(); ite++)
        {
            std::cout<<*ite<<" ";
        }
        std::cout<<std::endl;
    }
    std::vector<int> data;
};

int main()
{
    // 列表初始化：initializer_list   {}
    // std::vector<int> v = {1, 2, 3, 4, 5, 8, 0, 9};
    // std::map<int, std::string> m =
    // {
    //      {1, "zhangsan"},
    //      {2, "lisi"}
    // };

    MyVector v = {1,2,3,4,5};
    v.show();

    // 有效预防 不合理的隐式转换
    // unsigned int a = {3.14}; // 可以预警 报错

    return 0;
}
